package com.zhugang.week01;

/**
 * @program algorithms
 * @description: shunzi
 * @author: chanzhugang
 * @create: 2022/03/13 23:02
 */
public class ShunZi {

    public static void main(String[] args) {
        ShunZi shunZi = new ShunZi();
        int[] nums = new int[]{1, 2, 3, 4, 5};
        boolean flag = shunZi.isStraight(nums);
        System.out.println(flag);
    }

    /**
     * 从扑克牌中抽5张，判断是不是顺子， 大小王为0，可以看成是任意数，A为1，J为11 Q为12 K为13
     */
    public boolean isStraight(int[] nums) {
        /**
         * 1、不重复
         * 2、不包含0
         * 3、max - min < 5
         */
        int max = -1;
        int min = 100;
        boolean[] dump = new boolean[14];
        for (int num : nums) {
            if (num != 0) {
                // 判断是否重复出现：放在一个boolean类型数组里，第一次出现放对应索引位置，值为true（代表出现过）
                if (dump[num]) return false;
                else dump[num] = true;
                if (num > max) max = num;
                if (num < min) min = num;
            }
        }
        return max - min < 5;
    }

}